<?php

require_once '../helpers/reader.php';
include_once("../modelo/ModeloUsuario.php");
include_once("../modelo/ModeloHV.php");
$opcion = $_POST["opcion"];
if ($opcion == 'subirArchivo') {
    $tipo = explode(".", $_FILES['archivo']['name']);
    $dir = '../archivos/';
    $nom = "bdEstudiantes.xls";
    $mensaje = "";
    if (isset($_FILES['archivo']['tmp_name'])) {
        if ($tipo[1] == 'xls') {
            if (!copy($_FILES['archivo']['tmp_name'], $dir . $nom))
                $mensaje = 'Error al Subir el Archivo';
            else
                $mensaje = 'Se ha subido correctamente el Archivo';
        }
        else
            $mensaje = 'El Archivo que se intenta subir NO ES del tipo Excel';
    }
    else
        $mensaje = 'El Archivo no ha llegado al Servidor.';
    header("location: ../vista/CargarBD.php?op=estudiantes&mensaje-informativo=" . $mensaje);
} else if ($opcion == 'ejecutar') {
    $fecha_actual = (date("Y-m-d H:i:00", time()));
    $mUsuario = new ModeloUsuario();
    $arUsuario = "";
    $usudi = "";
    $usunombre = "";
    $usuapellido = "";
    $usutelefono1 = "";
    $usudireccion = "";
    $usucorreo = "";
    $ok = "error";
    $cont = 0;
    $usuerrores = "";
    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('CP1251');
    $validacion = $data->validarArchivo('../archivos/bdEstudiantes.xls');
    if ($validacion == 'ok') {
        $data->read('../archivos/bdEstudiantes.xls');
        $ok = "ok";
        for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
//            for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
//                echo " '" . $data->sheets[0]['cells'][$i][$j] . "'";
            $usucodigo = $data->sheets[0]['cells'][$i][1];
            if (is_numeric($usucodigo)) {
                $arUsuario = $mUsuario->getUsuarioCodigo($usucodigo);
                if (!$arUsuario[0]->usucodigo) {
                    $usuplan = $data->sheets[0]['cells'][$i][2];
                    $usutelefono1 = $data->sheets[0]['cells'][$i][4];
                    $usudireccion = $data->sheets[0]['cells'][$i][5];
                    $usunombrecompleto = $data->sheets[0]['cells'][$i][3];
                    $usucorreo = $data->sheets[0]['cells'][$i][6];
                    $usulogin = $usucodigo . '-' . $usuplan;
                    $usupasswd = substr($usunombrecompleto, 0, 1) . $usucodigo . $usuplan;
                    $usupasswd = md5($usupasswd);

                    if (is_numeric($usuplan) && is_numeric($usutelefono1) && filter_var($usucorreo, FILTER_VALIDATE_EMAIL)) {
                        $mUsuario = new ModeloUsuario(null, null, 4,
                                        null, null, null, null,
                                        null, null, null, $usutelefono1,
                                        null, $usudireccion, null, $usucorreo, $usulogin,
                                        $usupasswd, $fecha_actual, null, "1", $usucodigo, $usuplan, $usunombrecompleto);
                        $mUsuario->crearUsuario();
                        $oUsuario = $mUsuario->getUsuarioCodigo($usucodigo);
                        $usucodsx = $oUsuario[0]->usucodsx;
                        $mHV = new ModeloHV(null, $usucodsx, "", "", "1");
                        $mHV->crearHV();
                        $cont = $cont + 1;
                    } else {
                        $usuerrores = $usuerrores . "revisar los siguientes campos (plan,telefono,correo) del usuario :" . $usucodigo . "<br/>";
                        continue;
                    }
                }
            } else {
                $usuerrores = $usuerrores . " codigo no valido:" . $usucodigo . "<br/>";
            }
        }
    }
    if ($cont != 0) {
        if ($usuerrores == '') {
            $ok = "ok*|*La base de datos se cargo exitosamente";
            eliminarArchivo();
        } else {
            $ok = "ok*|*La Base de datos se cargo pero genero problemas en algunos usuario. Los siguientes usuarios presentaron inconvenientes<br/>" . $usuerrores;
            eliminarArchivo();
        }
    } else {
        eliminarArchivo();
        $ok = "error*|*No se  cargo ningun estudiante, verifique que el archivo contenga nuevos  usuarios. Tambien Revise el formato de los datos";
    }
//     header("location: ../vista/CargarBD.php?op=estudiantes");
    echo $ok;
}

function eliminarArchivo() {
    $dir = '../archivos/bdEstudiantes.xls'; //puedes usar dobles comillas si quieres 
    if (file_exists($dir)) {
        unlink($dir);
    }
    else
        print "Este archivo no existe";
}

?>